Vision systems that perform measurement, inspection, alignment of objects and/or decoding of symbology in the form of machine-readable symbols (also termed “IDs”, such as a 2D matrix symbol) are used in a wide range of applications and industries. These systems are based around the use of an image sensor, which acquires images (typically grayscale or color, and in one, two or three dimensions) of the subject or object, and processes these acquired images using an on-board or interconnected vision system processor. The processor generally includes both processing hardware and non-transitory computer-readable program instructions that perform one or more vision system processes to generate a desired output based upon the image's processed information. This image information is typically provided within an array of image pixels each having various colors and/or intensities. In the example of an ID reader (also termed herein, a “camera”), the user or automated process acquires an image of an object that is believed to contain one or more barcodes. The image is processed to identify barcode features, which are then decoded by a decoding process and/or processor obtain the inherent alphanumeric data represented by the code.
In operation, an ID reader typically functions to illuminate the scene containing one or more IDs. The illuminated scene is then acquired by an image sensor within the imaging system through optics. The array sensor pixels are exposed, and the electronic value(s) generated for each pixel by the exposure is/are stored in an array of memory cells that can be termed the “image” of the scene. In the context of an ID-reading application, the scene includes an object of interest that has one or more IDs of appropriate dimensions and type. The ID(s) are part of the stored image.
While many applications for ID readers can employ a fixed mount arrangement, with objects moving through an imaged scene, a common type of ID reader is a handheld arrangement, with or without a “pistol grip” handle. Such readers are used by workers to read IDs on (typically) stationary objects (parts) in a warehouse or other repository. Such readers can also be used to identify ID-coded parts in an assembly (e.g. an automobile on a production line), or for any other application that benefits from identifying and/or tracking components/parts. In general, working distances, illumination and other parameters for such readers can vary as a user moves from part-to-part and it is desirable that a reader have the capability to handle such variations.
More particularly, to better image ID codes, particularly those on shiny (i.e. reflective) rounded surfaces (e.g. Direct Part Marking, or “DPM” codes), special lighting is desirable. Several approaches have been provided to assist in reading such codes—for example, diffusive lighting, low-angle light, polarized light and/or structured light. This specialized lighting can be used in conjunction with another, conventional illuminator. However, none of these approaches has fully addressed two significant challenges in reading (e.g.) DPM codes on round/curvilinear surfaces, namely (a) eliminating the reflection of the reader's camera in the background (a.k.a. the black hole or stripe) when reading DPM codes on shiny, rounded surfaces, and (b) enabling image capture with a plurality of discrete/differing illumination sources simultaneously, so as to improve the overall acquisition (trigger-to-beep) time.